/**
 * Created by g.huangshg on 2016/12/14.
 */
var options;
var type;
var userid={};
var flag=false;
$(function(){


   /* $(document).ready(function(){$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green",})});*/

    /*
    *绑定写信按钮
    * 弹出 写信div
    * */

    $("#write_email").click(function(){
        $("#write_div").show("slow");
        $("#send_div").hide("slow");
        $("#title").val("");
        $("#recever").val("");
        $("#content").val("");
    });
    $("#write_email").one("mouseover",function(){
        // 页面 加载  用户的树  用于  模糊提示
        $.get($("#path").val()+"/getAllUserTree",function(data){
            data=JSON.parse(data);
            var option="";
            $.each(data,function(i,o){
                option+="<option value='"+o.username+"' >"+o.realname+"("+o.userTypeTo+")</option>";
                //   生成 一个 mapList  key:username  val:id   最后把id传到后台
                userid[o.username]=o.id;
            })
            options=option;
            //input   最后与数据一起生成   元素写到页面上  数据后加载  会失效
            option="<datalist id='mylist'>"+option+"</datalist>";
            var  input="<input  id='recever' list='mylist' class='form-control awesomplete' data-minchars='1' style='width: 300px;'>";
            $("#data").append(input+option);

        });
    })


/*
*写信的发送按钮
* */
    $("#send").click(function(){
        //获取   用户 id
        var receverid=userid[$("#recever").val()];
        //当 用户账号  无法匹配  到id   则无法发送
        if(receverid==null) {toastAlert("error","发送失败","检查用户账号",2000);   return false;}
        $.post($("#path").val()+"/Email/sendMsg",{
         receverid:receverid,
         title:$("#title").val(),
         content:$("#content").val(),
         },function(data){
         data=JSON.parse(data);
         toastAlert(data.status,data.oprate,data.msg,2000);
            //发送成功 关闭 写信div
            if(data.status=="success"){
                $("#write_div").hide("slow");
            }
         });

    });
/*
* 收件箱按钮
*
* */
    $("#receverbox").click(function(){
        type=1;
        $("#h2").text("收件箱");
        $("#searchTitle").val("");
        $("#send_div").show("slow");
        $("#write_div").hide("slow");
        $("#table_list").jqGrid('showCol',["sender"]);
        $("#table_list").jqGrid('hideCol',["recever"]);
        search(type);
        flag=true;

    });
/*
* 发件箱按钮
*
* */
    $("#sendbox").click(function(){
        type=2;
        $("#h2").text("发件箱");
        $("#searchTitle").val("");
        $("#send_div").show("slow");
        $("#write_div").hide("slow");
        $("#table_list").jqGrid('showCol',["recever"]);
        $("#table_list").jqGrid('hideCol',["sender"]);
        search(type);
        flag=false;
    });
/*
* 垃圾箱按钮
*
* */
    $("#trashbox").click(function(){
        type=3;
        $("#h2").text("垃圾箱");
        $("#searchTitle").val("");
        $("#send_div").show("slow");
        $("#write_div").hide("slow");
        $("#table_list").jqGrid('showCol',["sender"]);
        $("#table_list").jqGrid('hideCol',["recever"]);
        search(type);
        flag=false;
    });
    $("#search").click(function(){
        search(type);
        if(type=1){ flag=true;}
    });



    $.jgrid.defaults.styleUI = "Bootstrap";

    $("#table_list").jqGrid({
       // url : $(path).val()+'/Email/getEmailBox?type=1',  		//请求数据的url地址
        datatype : "json",                                              //请求的数据类型
        mtype: "POST",                                                  //请求类型
        postData:{

        }, //发送数据
        height: 300,                                                   //设置高度
        width: 800,                                               //自动匹配宽度
        shrinkToFit: true,
        rowNum: 10,                                                    //每页显示记录数
        rowList: [10, 20, 30],                                       //分页选项，可以下拉选择每页显示记录数
        colNames: ["id", "发件人","发件人id","收件人id", "收件人","", "标题", "时间差","时间","内容"],                //数据列名称（数组）
        //数据列各参数信息设置
        colModel: [{name: "id", index: "id", width: 10,sortable:false,hidden:true,},
            {name: "sender", index: "sender", editable:true,sortable:false, width: 20},
            {name: "senderid", index: "senderid", editable:false,sortable:false, width: 0,hidden:true,},
            {name: "receverid", index: "receverid",editable:true,sortable:false, width:0,hidden:true,},
            {name: "recever", index: "recever",editable:true,sortable:false, width: 20},
            {name: "readstatus", index: "readstatus",editable:true,sortable:false, width: 5,formatter:read},  //true  -->未读
            {name: "msg.title", index: "msg.title",editable:true,sortable:false, width: 30,},
            {name: "msg.timeAgo", index: "msg.timeAgo",editable:true,sortable:true, width: 0,hidden:true,},
            {name: "msg.ctimeToFullString", index: "ctime",editable:true,sortable:true, width: 30,formatter:timeago},
            {name: "msg.content", index: "msg.content",editable:false,sortable:false, width: 0,hidden:true,},

        ],

        pager: "#pager_list",                                         //表格数据关联的分页条，html元素
        viewrecords: true,                                            //显示总记录数
        //这是一个数组，用于设置jqGrid将要向Server传递的参数名称
        jsonReader: {
            id: "id",                                           //相当于设置主键
            root: "dataList",                                        //Json数据
            records: "record",                                      //总记录数
            repeatitems: false
        },
        multiselectWidth: 25,                                          //设置多选列宽度
        multiselect: true,                                            //可多选，出现多选框
        gridview: true,                                                 //加速显示
        sortable: false,                                                //可以排序
        sortname: 'ctime',
        sortorder: "desc",                                //可以排序
        hidegrid: false,
        toppager: true ,                                               //同步导航栏至表格顶部


    });


    /*
    * 导航栏
    * */
    jQuery("#table_list").jqGrid('navGrid', "#pager_list", {
        edit : false,
        add : false,
        search:false,
        del : true,
        delfunc:function(id){
            if(type==3){
                toastAlert("warning","操作失败","暂不支持删除",2000);
                return false
            }
            jQuery("#table_list").jqGrid('delGridRow', id, {
                reloadAfterSubmit : true,
                url:$(path).val()+'/Email/deleteMail?type='+type,
                datatype:'json',
                afterSubmit : function(response, postdata) {
                    var json = response.responseText;
                    var result =$.parseJSON(json);
                    if(result.status){
                        toastAlert("success","",result.msg,2000);
                    }
                    return [result.status, result.msg, ""];
                }
            });
        },
    });
   /*
   * 自适应
   * */
    var width = $(".send_div").width();
    $("#table_list").setGridWidth(width);
    $('#table_list_toppager_center').hide();   //隐藏底部的导行栏
    $(window).bind("resize", function () {
        var width = $(".send_div").width();
        $("#table_list").setGridWidth(width);
    });

/*
* 查询
* */
    function search(type){
        var title=$("#searchTitle").val();
        $('#table_list').jqGrid('setGridParam',{
            url : $(path).val()+'/Email/getEmailBox',
            datatype:'json',
            postData:{
                type:type,
                title:title,
            }, // 发送数据
            page:1
        }).trigger('reloadGrid'); // 重新载入
    }
/*
* 显示 已读未读的 图标
* */
    function read(cellvalue, options, row){
        if(flag){
            var num=$('#table_list').jqGrid('getGridParam', 'records');
            $("#h2").text("收件箱"+"( "+num+" )");
            $("#snum").text(num);
            flag=false;
        }
        var li;
        if(cellvalue==true&&type==1)
        li="<i  rowid='"+row.id+"' v='1' class='fa fa-envelope-o point'></i>"
        else
            li="<i rowid='"+row.id+"' v='0' class='fa fa-eye point'></i>";
        //$("#msg").data(row.id+"",row);
        return li;

    }

    function  timeago(cellvalue, options, row){
        var timeago=row.msg.timeAgo;
        return  cellvalue+"( " +timeago+" )";
    }
//点击  查看  邮件详情
    $("#table_list").on("click",".point",function(){

        $("#mail_detail").modal('show');
        //$("#msg").data($(this).attr("rowid"))
        var id=$(this).attr("rowid");
        var rowData = $("#table_list").getRowData(id);
        if(rowData!=null) {
            $("#detail_title").text(rowData["msg.title"]);
            $("#detail_send").text(rowData["sender"]);
            $("#detail_time").text(rowData["msg.ctimeToFullString"]);
            $("#ago_time").text(rowData["msg.timeAgo"]);
            $("#detail_context").text(rowData["msg.content"]);
            //var re = rowData["recever"];
           // re = re.replace(/,/g, "\n");
            $("#detail_re").text(rowData["recever"]);


            if($(this).attr("v")=="1"){
                //未读-->已读
                $(this).removeClass("fa-envelope-o").addClass("fa-eye");
                $.post($(path).val()+'/Email/deleteMail',{
                    type:4,
                    id:id,
                });

            }
        }
    });
//页面加载完毕   默认点击 收件箱按钮
    window.onload = function() {
        $("#receverbox").click();
    }
    });